"""
__L2_F2F_MDL.py_____________________________________________________

Automatically generated AToM3 Model File (Do not modify directly)
Author: levi
Modified: Wed Dec 12 18:13:32 2012
____________________________________________________________________
"""
from stickylink import *
from widthXfillXdecoration import *
from Female_S import *
from MatchModel import *
from ApplyModel import *
from Female_T import *
from match_contains import *
from apply_contains import *
from backward_link import *
from graph_backward_link import *
from graph_Female_T import *
from graph_MatchModel import *
from graph_apply_contains import *
from graph_match_contains import *
from graph_Female_S import *
from graph_ApplyModel import *
from ATOM3Enum import *
from ATOM3String import *
from ATOM3BottomType import *
from ATOM3Constraint import *
from ATOM3Attribute import *
from ATOM3Float import *
from ATOM3List import *
from ATOM3Link import *
from ATOM3Connection import *
from ATOM3Boolean import *
from ATOM3Appearance import *
from ATOM3Text import *
from ATOM3Action import *
from ATOM3Integer import *
from ATOM3Port import *
from ATOM3MSEnum import *

def L2_F2F_MDL(self, rootNode, SimpleDSLTransMMRootNode=None):

    # --- Generating attributes code for ASG SimpleDSLTransMM ---
    if( SimpleDSLTransMMRootNode ): 
        # author
        SimpleDSLTransMMRootNode.author.setValue('Annonymous')

        # description
        SimpleDSLTransMMRootNode.description.setValue('\n')
        SimpleDSLTransMMRootNode.description.setHeight(15)

        # name
        SimpleDSLTransMMRootNode.name.setValue('F2F')
    # --- ASG attributes over ---


    self.obj30=Female_S(self)
    self.obj30.isGraphObjectVisual = True

    if(hasattr(self.obj30, '_setHierarchicalLink')):
      self.obj30._setHierarchicalLink(False)

    # name
    self.obj30.name.setValue('f')

    self.obj30.graphClass_= graph_Female_S
    if self.genGraphics:
       new_obj = graph_Female_S(640.0,280.0,self.obj30)
       new_obj.DrawObject(self.UMLmodel)
       self.UMLmodel.addtag_withtag("Female_S", new_obj.tag)
       new_obj.layConstraints = dict() # Graphical Layout Constraints 
       new_obj.layConstraints['scale'] = [1.0, 1.0]
    else: new_obj = None
    self.obj30.graphObject_ = new_obj

    # Add node to the root: rootNode
    rootNode.addNode(self.obj30)
    self.globalAndLocalPostcondition(self.obj30, rootNode)
    self.obj30.postAction( rootNode.CREATE )

    self.obj31=MatchModel(self)
    self.obj31.isGraphObjectVisual = True

    if(hasattr(self.obj31, '_setHierarchicalLink')):
      self.obj31._setHierarchicalLink(False)

    self.obj31.graphClass_= graph_MatchModel
    if self.genGraphics:
       new_obj = graph_MatchModel(360.0,200.0,self.obj31)
       new_obj.DrawObject(self.UMLmodel)
       self.UMLmodel.addtag_withtag("MatchModel", new_obj.tag)
       new_obj.layConstraints = dict() # Graphical Layout Constraints 
       new_obj.layConstraints['scale'] = [1.0, 1.0]
    else: new_obj = None
    self.obj31.graphObject_ = new_obj

    # Add node to the root: rootNode
    rootNode.addNode(self.obj31)
    self.globalAndLocalPostcondition(self.obj31, rootNode)
    self.obj31.postAction( rootNode.CREATE )

    self.obj32=ApplyModel(self)
    self.obj32.isGraphObjectVisual = True

    if(hasattr(self.obj32, '_setHierarchicalLink')):
      self.obj32._setHierarchicalLink(False)

    self.obj32.graphClass_= graph_ApplyModel
    if self.genGraphics:
       new_obj = graph_ApplyModel(360.0,440.0,self.obj32)
       new_obj.DrawObject(self.UMLmodel)
       self.UMLmodel.addtag_withtag("ApplyModel", new_obj.tag)
       new_obj.layConstraints = dict() # Graphical Layout Constraints 
       new_obj.layConstraints['scale'] = [1.0, 1.0]
    else: new_obj = None
    self.obj32.graphObject_ = new_obj

    # Add node to the root: rootNode
    rootNode.addNode(self.obj32)
    self.globalAndLocalPostcondition(self.obj32, rootNode)
    self.obj32.postAction( rootNode.CREATE )

    self.obj33=Female_T(self)
    self.obj33.isGraphObjectVisual = True

    if(hasattr(self.obj33, '_setHierarchicalLink')):
      self.obj33._setHierarchicalLink(False)

    # name
    self.obj33.name.setValue('f')

    self.obj33.graphClass_= graph_Female_T
    if self.genGraphics:
       new_obj = graph_Female_T(640.0,520.0,self.obj33)
       new_obj.DrawObject(self.UMLmodel)
       self.UMLmodel.addtag_withtag("Female_T", new_obj.tag)
       new_obj.layConstraints = dict() # Graphical Layout Constraints 
       new_obj.layConstraints['scale'] = [1.0, 1.0]
    else: new_obj = None
    self.obj33.graphObject_ = new_obj

    # Add node to the root: rootNode
    rootNode.addNode(self.obj33)
    self.globalAndLocalPostcondition(self.obj33, rootNode)
    self.obj33.postAction( rootNode.CREATE )

    self.obj34=match_contains(self)
    self.obj34.isGraphObjectVisual = True

    if(hasattr(self.obj34, '_setHierarchicalLink')):
      self.obj34._setHierarchicalLink(False)

    self.obj34.graphClass_= graph_match_contains
    if self.genGraphics:
       new_obj = graph_match_contains(561.0,281.0,self.obj34)
       new_obj.DrawObject(self.UMLmodel)
       self.UMLmodel.addtag_withtag("match_contains", new_obj.tag)
       new_obj.layConstraints = dict() # Graphical Layout Constraints 
    else: new_obj = None
    self.obj34.graphObject_ = new_obj

    # Add node to the root: rootNode
    rootNode.addNode(self.obj34)
    self.globalAndLocalPostcondition(self.obj34, rootNode)
    self.obj34.postAction( rootNode.CREATE )

    self.obj35=apply_contains(self)
    self.obj35.isGraphObjectVisual = True

    if(hasattr(self.obj35, '_setHierarchicalLink')):
      self.obj35._setHierarchicalLink(False)

    self.obj35.graphClass_= graph_apply_contains
    if self.genGraphics:
       new_obj = graph_apply_contains(563.5,521.0,self.obj35)
       new_obj.DrawObject(self.UMLmodel)
       self.UMLmodel.addtag_withtag("apply_contains", new_obj.tag)
       new_obj.layConstraints = dict() # Graphical Layout Constraints 
    else: new_obj = None
    self.obj35.graphObject_ = new_obj

    # Add node to the root: rootNode
    rootNode.addNode(self.obj35)
    self.globalAndLocalPostcondition(self.obj35, rootNode)
    self.obj35.postAction( rootNode.CREATE )

    self.obj36=backward_link(self)
    self.obj36.isGraphObjectVisual = True

    if(hasattr(self.obj36, '_setHierarchicalLink')):
      self.obj36._setHierarchicalLink(False)

    self.obj36.graphClass_= graph_backward_link
    if self.genGraphics:
       new_obj = graph_backward_link(701.0,441.0,self.obj36)
       new_obj.DrawObject(self.UMLmodel)
       self.UMLmodel.addtag_withtag("backward_link", new_obj.tag)
       new_obj.layConstraints = dict() # Graphical Layout Constraints 
    else: new_obj = None
    self.obj36.graphObject_ = new_obj

    # Add node to the root: rootNode
    rootNode.addNode(self.obj36)
    self.globalAndLocalPostcondition(self.obj36, rootNode)
    self.obj36.postAction( rootNode.CREATE )

    # Connections for obj30 (graphObject_: Obj0) named f
    self.drawConnections(
 )
    # Connections for obj31 (graphObject_: Obj1) of type MatchModel
    self.drawConnections(
(self.obj31,self.obj34,[421.0, 241.0, 561.0, 281.0],"true", 2) )
    # Connections for obj32 (graphObject_: Obj2) of type ApplyModel
    self.drawConnections(
(self.obj32,self.obj35,[426.0, 481.0, 563.5, 521.0],"true", 2) )
    # Connections for obj33 (graphObject_: Obj3) named f
    self.drawConnections(
(self.obj33,self.obj36,[701.0, 561.0, 701.0, 441.0],"true", 2) )
    # Connections for obj34 (graphObject_: Obj4) of type match_contains
    self.drawConnections(
(self.obj34,self.obj30,[561.0, 281.0, 701.0, 321.0],"true", 2) )
    # Connections for obj35 (graphObject_: Obj5) of type apply_contains
    self.drawConnections(
(self.obj35,self.obj33,[563.5, 521.0, 701.0, 561.0],"true", 2) )
    # Connections for obj36 (graphObject_: Obj6) of type backward_link
    self.drawConnections(
(self.obj36,self.obj30,[701.0, 441.0, 701.0, 321.0],"true", 2) )

newfunction = L2_F2F_MDL

loadedMMName = 'SimpleDSLTransMM_META'

atom3version = '0.3'
